The present invention relates to the processing of video image, sound, or other correlated data. More specifically, the present invention relates to an apparatus, method, and computer-readable medium for selectively performing, in parallel structures, different functions on input image, sound, or other correlated data based upon input processing selection signals.
It is often necessary to perform different functions on input image, sound, or other correlated data in order to obtain quality output data. The different functions that need to be performed on the input data may include the following: concealing or recovering erroneous or lost input data (hereinafter also referred to as error recovery), reducing the noise level of the input data (hereinafter also referred to as noise reduction), and interpolating subsamples of the input data (hereinafter also referred to as subsample interpolation).
Conventionally, error recovery has been achieved by correlation evaluation. For example, spatial inclinations of the target data are detected using neighboring data. In addition to spatial inclinations, motion is also evaluated. A selected spatial filter is used for error recovery if motion is detected. In the case of stationary data, the previous frame data is used for error recovery.
Subsample interpolation processing has conventionally been achieved by peripheral correlation evaluation.
In addition to the conventional method, subsample interpolation can be performed by a method known as classified adaptive subsample interpolation. For further information regarding this method, see U.S. Pat. No. 5,469,216 to Takahashi et al., entitled xe2x80x9cApparatus And Method For Processing A Digital Video Signal To Produce Interpolated Dataxe2x80x9d, which is incorporated herein by reference. In this process the interpolated output data is generated for corresponding data based on the class identifiers of various classes associated with the data.
A conventional noise reduction system may include two components. One component, known as inter-frame processing, is used to perform noise reduction in areas of stationary data. The other component, known as intra-field processing, is used to perform noise reduction for areas of motion. Whether inter-frame processing or intra-field processing is performed depends on the level of motion of the target data.
Conventionally, the different functions or processes mentioned above have been performed independently and separately by different systems or circuits. Thus, if two or more functions need to be performed on the input data, two or more systems are needed to carry out the required functions. For example, if both error recovery and noise reduction are to be performed on input data, the input data would be processed separately by an error recovery system to obtain error recovered data. The error recovered data would then be processed by a noise reduction system to obtain noise-reduced output data.
The systems described above are complex to implement and typically include significant hardware redundancy. In addition, the conventional serial, pipelined structure also causes other processing inefficiencies. For example, even if only a small portion of the input data contains errors, the entire stream of input data would be processed through the error recovery process. Such indiscriminate processing of input data regardless of the condition of the input data results in significant waste of processing time and resources.
Moreover, since the entire input data are processed through all the different processes in this serial, pipelined configuration, there is no control mechanism to control how different portions of the input data should be processed. For example, the users cannot choose to perform only noise reduction on some portions of the data and error recovery on other portions of the data.
The present invention provides a method, apparatus, and computer-readable medium for selectively performing, in parallel structures, different functions on an input image, sound data, or other correlated data according to some input processing selection signals. In one embodiment, the input data is received. A first function is performed on the input data to generate a first output of data. At least one additional function, approximately in parallel to the step of performing the first function, is performed on the input data to generate at least one additional output of data. Either the first output or the additional output is selected based upon a control input. In one embodiment, the first function and each additional function performed on the input data are selected from the group consisting of recovering erroneous data contained in the input data, interpolating the input data, and reducing the noise level of the input data.